<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
            // 词法作用域 区分于 块级作用域
            // ES6 之前是没有 块级作用域
            // 作用域： 定义的 变量 方法 在 代码中所能使用的区域
            // 词法作用域使用 规则 是 JavaScript 预解析规则

    /* 代码块之间的 作用域 => 块级作用域
        {
            代码块
        }
        if (a) {
            代码块
        }

        for () {
            代码块
        }
    */

    // 现在 词法作用域 只有 全局作用域 和 局部作用域（函数作用域）
    
    function foo() {
        var num = 10;

        function fn() {
            console.log(num);
            function fn1 () {
                console.log(num);
            }
            fn1()
        }
        fn()
    }
    foo();
// 作用域链，
    
    </script>
    
</body>
</html>